package com.demo.java.OD1_50.OD24;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【计算面积】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145535606
 */
public class OdMain {

    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            // 读取第一行的输入
            String[] line = s.nextLine().split(" ");
            int allCount = Integer.parseInt(line[0]); // 计算点的数量
            int maxX1 = Integer.parseInt(line[1]);   // 多边形的最大横坐标

            int sqaValue = 0;  // 用来存储面积
            int tempXvalue = 0; // 临时变量存储上一个点的X坐标
            int tempYvalue = 0; // 临时变量存储上一个点的Y坐标

            // 遍历所有点
            for (int i = 0; i < allCount; ++i) {
                String[] strs = s.nextLine().split(" ");
                int x1 = Integer.parseInt(strs[0]); // 当前点的横坐标
                sqaValue += Math.abs(tempYvalue) * (x1 - tempXvalue);  // 根据叉积公式计算面积的贡献
                tempYvalue += Integer.parseInt(strs[1]); // 累加纵坐标
                tempXvalue = x1; // 更新横坐标
            }
            // 最后一部分的面积贡献
            sqaValue += (maxX1 - tempXvalue) * tempYvalue;
            System.out.println(sqaValue);  // 输出计算得到的总面积

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

